1. Technical Field
This application generally relates to computer systems, and more particularly to mirrored storage systems.
2. Description of Related Art
Computer systems may include different resources used by one or more host processors. Resources and host processors in a computer system may be interconnected by one or more communication connections. These resources may include, for example, data storage devices such as the Symmetrix(trademark) family of data storage systems manufactured by EMC Corporation. These data storage systems may be coupled to one or more host processors and provide storage services to each host processor. An example data storage system may include one or more data storage devices, such as those of the Symmetrix(trademark) family, that are connected together and may be used to provide common data storage for one or more host processors in a computer system.
A host processor may perform a variety of data processing tasks and operations using the data storage system. For example, a host processor may perform basic system I/O operations in connection with data requests, such as data read and write operations and also administrative tasks, such as data backup and mirroring operations.
One problem in servicing data operations is providing an efficient arrangement and technique for storing and maintaining copies of data on mirror devices. Mirror devices may store copies of data, for example, in the event of device failure, or other problems. A system may have one or more mirror devices associated with each single data device in which each of the mirror devices maintains a copy of data included in the single data device. Just as efficient techniques may be used in connection with handling a data request, efficient techniques may be used in connection with determining which one or more mirror devices service requests, such as read data requests, for a particular logical device.
Thus, it may be desirous and advantageous to have an efficient technique in determining an arrangement of mirror devices.
In accordance with one aspect of the invention is a method executed in a computer system for selecting a mirror device from a plurality of mirror devices for a logical volume comprising: collecting activity data of said at least one logical volume; determining an activity level of each of said plurality of mirror devices; selecting one of said plurality of mirror devices to service said logical volume in accordance with a load balancing policy of said mirror devices, said logical volume being one of a plurality of logical volumes; and performing seek minimization processing that includes swapping first and second mirror devices in accordance with predetermined criteria, said first mirror device being selected to service requests of a first by logical volume and said second mirror device being selected to service requests of a second logical volume, said predetermined criteria including a first identifier associated with said first associated mirror device that does not correspond to a second identifier associated with a location on said first mirror device identifying a location at which a mirrored portion of said first logical volume is to be stored.
In accordance with another aspect of the invention is a computer program product for selecting a mirror device from a plurality of mirror devices for a logical volume comprising machine executable code for: collecting activity data of said at least one logical volume; determining an activity level of each of said plurality of mirror devices; selecting one of said plurality of mirror devices to service said logical volume in accordance with a load balancing policy of said mirror devices, said logical volume being one of a plurality of logical volumes; and performing seek minimization processing that includes swapping first and second mirror devices in accordance with predetermined criteria, said first mirror device being selected to service requests of a first logical volume and said second mirror device being selected to service requests of a second logical volume, said predetermined criteria including a first identifier associated with said first associated mirror device that does not correspond to a second identifier associated with a location on said first mirror device identifying a location at which a mirrored portion of said first logical volume is to be stored.